'use strict';

/**
 * @file booter.js
 * @abstract 监听文件变化并执行重启命令
 * 安装依赖：
 * # npm install -g cnpm --registry=https://registry.npm.taobao.org
 * cnpm install request
 * cnpm install watch
 * @author 码叔
 */

////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//////将此修改为正确的重启链接，调试服务器或者手机ip变化后需要重新修改////////
// For Android
// let cmd = "http://192.168.1.112:8297/cmd/boot/http://192.168.1.2:8000/dist"
let cmd = "http://192.168.1.112:8297/cmd/boot/http://192.168.1.2:8000"
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////

var request = require('request')
var watch = require('watch')

console.log("开始监听文件...")

function reboot() {
    console.log("正在重启app...")
    request(cmd, function (err, res, body) {
        if (err) {
            console.log("启动app失败,请确认" + cmd + "是否正确")
        }else {
            console.log("重启app完成")
        }
    })
}

watch.createMonitor('./', function (monitor) {
    // monitor.files['/home/mikeal/.zshrc'] // Stat object for my zshrc.
    monitor.on("created", function (f, stat) {
        // reboot()
    })
    monitor.on("changed", function (f, curr, prev) {
        reboot()
    })
    monitor.on("removed", function (f, stat) {
        // reboot()
    })
})
